Gps navigation using interacting multiple model (imm) estimator and probabilistic data association filter (pdaf)

ABSTRACT

A method for GPS navigation which uses an interacting multiple-model (IMM) estimator with a probabilistic data association filter (PDAF) improves navigation performance. The method includes (a) providing two or more models of GPS navigation, with each model characterized by a model state vector which is updated periodically, (b) providing for each model a corresponding filter for deriving, for each period, a current value for the corresponding model state vector based on current measurements made on parameters affecting the corresponding state vector; and (c) applying an interacting multiple model (IMM) estimator to provide, for each period, a current value for a system state vector using the current values of the model state vectors for that period and their corresponding filters. Each model state vector may include one or more of the following: variables: 3-dimensional position, 3-dimensional velocity, satellite clock bias, satellite clock drifts and one or more other satellite parameters. The current value of the system state vector may be a weighted average of the current values of the model state vectors, where the weights are a set of mode probabilities. In addition, one or more of the filters is a probabilitic data association filter (PDAF).

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to processing of global positioningsystems (GPS) signals. In particular, the present invention relates toprocessing GPS signals in the presence of dynamically changing, falseobservations and multipath signal interference.

2. Discussion of the Related Art

Conventional GPS navigation may use a Kalman filter to improve accuracyin position determination using pseudorange and other measurements. Thisapproach is based on a single mathematical model of the GPS receiver andits environment. Often, such a model assumes both a relatively constantvelocity for the GPS receiver, and a static measurement environment. Inpractice, such assumptions are often found to be invalid. For example,the GPS receiver may be moving at constant velocity only for verylimited time periods, with time periods of acceleration and decelerationin between. A GPS receiver also often changes its direction of travel.The appropriate model for each of these circumstances may be different.Transitions from one model to another model are also important. Thus,navigation based on a single Kalman filter is at best a compromise, andresults in poor navigation performance.

In conventional GPS processing, multipath effects (i.e., thesuper-positioning of the direct line-of-sight signal path and indirectsignal paths) are often present, especially in an urban canyonenvironment. From the Kalman's filter point of view, multipath effectsaffect the statistics in the measurement environment, thereby changesmeasurement accuracy (e.g., increasing measurement noise variance).Multi-path effects are typically time-varying, intermitten and random.In such an environment, a static multipath model is inappropriate. Inthe presence of multipath effects, the measurement error is likelypositively biased, with an increased variance relative to the case inwhich multipath effects are not present. A Kalman filter designed for anenvironment without multipath effects does not perform well in thepresence of multipath effects.

Further, multipath effects and other acquisition errors often causesevere noise in the measured GPS parameters, rendering such measurementsunsuitable for use in the Kalman filter. These invalid measurements maylead very large navigation error, thus significantly degrading theKalman filter's performance. A complicated filtering of the measuredparameters and noise-rejection before the measurements can be used in aKalman filter. However, proper criteria for accepting or rejecting themeasurements are not always clear or known, so that a proper measurementmay be improperly rejected, and a false measurement may be improperlyaccepted. Even with good acceptance and rejection criteria, differentweights should be given to navigation data under different collectionconditions. For example, one measurement found barely acceptable shouldnot be given the same weight as a measurement found well within theregion of acceptance.

SUMMARY OF THE INVENTION

According to one embodiment of the present invention, a method for GPSnavigation which uses an interacting multiple-model (IMM) estimator witha probabilistic data association filter (PDAF) improves navigationperformance.

In one embodiment of the present invention, the method includes (a)providing two or more models of GPS navigation, with each modelcharacterized by a model state vector which is updated periodically, (b)providing for each model a corresponding filter for deriving, for eachperiod, a current value for the corresponding model state vector basedon current measurements made on parameters affecting the correspondingstate vector; and (c) applying an interacting multiple model (IMM)estimator to provide, for each period, a current value for a systemstate vector using the current values of the model state vectors forthat period and their corresponding filters. Each model state vector mayinclude one or more of the following: variables: 3-dimensional position,3-dimensional velocity, clock bias, clock drifts and one or more othersatellite parameters. The current value of the system state vector maybe a weighted average of the current values of the model state vectors,where the weights are a set of mode probabilities.

According to one embodiment of the present invention, the IMM estimatorcalculates mixing probabilities for each model based on previousmeasurements made on the parameters. In each cycle, prior to derivingthe current values of the model state vectors in the filters, the IMMestimator uses the mixing probabilities to calculate an initial valuefor each model state vector by weighting the current model state vectorsof the immediately previous cycle. Using the current values of the modelstate vectors derived by the filters, the IMM estimator calculates themixing probabilities for use in the next cycle, and the modeprobabilities for providing the current value of the system statevector.

According to another aspect of the present invention, one or more of thefilters is a probabilitic data association filter (PDAF). The PDAFprovides (i) a predicted value for the corresponding model state vectorbased on internal parameters of the model, and (ii) the current value ofthe model state vector by updating the predicted value of the modelstate vector, based on the current measurements made. The PDAF may alsoapply a statistical difference between a correct observation and a falseobservation to the current measurements made to derive the current valueof the model state vector. The statistical difference may be expressedby a first probability density function for a correct observation, and asecond probability density function for a false observation. Theprobability density functions may include a function of a distance instandard deviations between one of the current measurements and itsnominal value. Alternatively, the probability density functions may eachbe a function of a measured value for the parameters affecting the modelstate vector. Possible probability density functions for correctobservation include a Gaussian distribution, a Rayleigh distribution oran exponential distribution. Other possible probability densityfunctions include a uniform distribution, a linear distribution, anexponential distribution, or a combination of a uniform distribution anda linear distribution.

The present invention is applicable to models pertaining to multipatheffects, environments with low signal-to-noise ratios, a GPS receivermoving at constant velocity, or a GPS receiver having motions thatinvolve non-constant velocities (e.g., acceleration, deceleration, ormaking turns).

The present invention is better understood upon consideration of thedetailed description below in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows an IMM estimator with a PDAF (i.e., IMM-PDAF 100),according to one embodiment of the present invention.

FIG. 2 shows a Gaussian probability density function 202, suitable formodeling correct observations, and a uniform probability densityfunction 201, suitable for modeling false observations, according to oneembodiment of the present invention.

FIG. 3 shows a linear probability density function 302, suitable formodeling amplitudes that are correct observations, and an exponentialprobability density function 301, suitable for modeling amplitudes offalse observations, according to one embodiment of the presentinvention.

FIG. 4 illustrates PDF 401, which models false observations due tosignal multipaths, and Gaussian PDF 402, which models correctobservations, according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An interacting multiple-model (IMM) estimator uses several filters,rather than a single Kalman filter. According to one embodiment, an IMMestimator may be designed specifically for specific navigationcircumstances. The final output of an IMM estimator is statisticallycombined from the output data of the multiple filters. In an IMMestimator, information may be exchanged between different filters,weights for the component filters may be dynamically calculated, givingappropriate weights to the component filters according to the prevailingnavigation circumstances. Therefore, the final output of an IMM followsthe best model. For each component filter of an IMM estimator, aprobabilistic data association filter (PDAF) may be used, in place of asingle Kalman filter. The PDAF is an extension of a standard Kalmanfilter, with the ability to handle false or multiple observationsprobabilistically.

FIG. 1 shows an IMM estimator with a PDAF (i.e., IMM-PDAF 100),according to one embodiment of the present invention. As shown in FIG.1, IMM-PDAF 100 includes an interacting/mixing filter 101, whichreceives updated state vectors {circumflex over (X)}¹(k−1|k−1) and{circumflex over (X)}²(k−1|k−1) at time k−1 for models M¹ and M²respectively, together with corresponding error variance P¹(k−1|k−1) andP² (k−1|k−1). In a GPS application, for example, state vectors{circumflex over (X)}¹ and {circumflex over (X)}² may each be a statevector having elements representing, 3-dimensional position,3-dimensional velocity, clock bias, clock drifts and other satelliteparameters:

{circumflex over (X)}=[x {dot over (x)} y {dot over (y)} z ż cΔt cΔi SV_(bias1) . . . SV _(biasN)]^(T)

Models M¹ and M² may be, for example, models where multi-path effectsdominate, or models where low signal-to-noise ratio (SNR) conditionsdominate, respectively.

Interacting/mixing filter 101 receives also mixing probabilitiesμ_(i|j)(k−1|k−1) to provide mixing initial conditions {circumflex over(X)}⁰¹(k−1|k−1) and {circumflex over (X)}⁰² (k−1|k−1). Mixingprobabilities μ_(i|j)(k−1|k−1) represent the probabilities that modelM^(j) was in effect at time k−1 given that model M^(i) is in effect attime k and measurements z(k−1) were observed up to time k−1.

In one embodiment, mixing probabilities μ_(i|j)(k−1|k−1) may be obtainedfrom mode probabilities μ_(i)(k−1) and mode transition probabilitiesp_(ij):

${\mu_{i|j}\left( {k - 1} \middle| {k - 1} \right)} = {\frac{1}{{\overset{\_}{c}}_{j}}p_{ij}{\mu_{i}\left( {k - 1} \right)}}$

where

$\overset{\_}{c} = {\sum\limits_{i = 1}^{r}\; {p_{ij}{\mu_{i}\left( {k - 1} \right)}}}$

is the normalizing factor for the r models.

The mixing initial conditions {circumflex over (X)}⁰¹(k−1|k−1) and{circumflex over (X)}⁰²(k−1|k−1) are fed respectively into probabilitydata association filters (PDAF) 102 and 103 representing models M¹ andM², each receiving measurements z(k) observed up to time k. PDAFs 102and 103 may each be, for example, a Kalman filter-like filter, providingfor time k updated state vectors {circumflex over (X)}¹(k|k) and{circumflex over (X)}²(k|k), and corresponding error variance P¹(k|k)and P²(k|k), respectively. In addition, PDAFs 102 and 103 providelikelihood functions Λ¹ and Λ². Likelihood function Λ^(j) representingthe conditional probabilities for observing measurements z(k) up to timek, given model M^(j) is in effect at time k and measurements z(k−1) upto time k−1.

The likelihood functions are used to derive the mode probabilitiesμ_(i)(k−1) and the mixing probabilities μ_(i|j)(k−1|k−1). In oneembodiment, mode probabilities μ_(i)(k−1) are given by:

${\mu_{i}(k)} = {\frac{1}{c}{\Lambda^{i}(k)}\overset{\_}{c}}$

where

$c = {\sum\limits_{i = 1}^{r}\; {{\Lambda^{i}(k)}\overset{\_}{c}}}$

is a normalization factor.

The updated combined state vector {circumflex over (X)}(k|k) at time kand its corresponding error variance P(k|k) are output. Note thatupdated combined state vector {circumflex over (X)}(k|k) and itscorresponding error variance P(k|k) are not used in the recursivealgorithm. In one embodiment, the combined state vector {circumflex over(X)}(k|k) at time k its corresponding error variance P(k|k) may be givenby:

$\mspace{79mu} {{\hat{X}\left( k \middle| k \right)} = {\sum\limits_{j = 1}^{r}\; {{{\hat{X}}^{j}\left( k \middle| k \right)}{\mu_{j}(k)}}}}$${P\left( k \middle| k \right)} = {\sum\limits_{j = 1}^{r}\; {{\mu_{j}(k)}\left\lbrack {{P^{j}\left( k \middle| k \right)} + {\left\lbrack {{{\hat{X}}^{j}\left( k \middle| k \right)} - {\hat{X}\left( k \middle| k \right)}} \right\rbrack*\left\lbrack {{{\hat{X}}^{j}\left( k \middle| k \right)} - {\hat{X}\left( k \middle| k \right)}} \right\rbrack^{T}}} \right\rbrack}}$

PDAFs 102 and 103 may each have the following prediction equations forthe state vector, the associated error covariance P^(0j), a measurementestimate and the innovation covariance, respectively, as in a standardKalman filter:

{circumflex over (X)} ^(0j)(k|k−1)=F ^(j)(k){circumflex over (X)}^(0j)(k−1|k−1)

P ^(0j)(k|k−1)=F ^(j)(k)P ^(0j)(k−1|k−1)F ^(j)(k)^(T) +Q ^(i)(k−1)

{circumflex over (z)}(k|k−1)=H ^(j)(k){circumflex over (X)} ^(0j)(k|k−1)

S ^(j)(k)=H ^(j)(k)P ^(0j)(k|k−1)H ^(j)(k)^(T) +R ^(j)(k)

where F^(j), Q^(j), H^(j), and R^(j) are the state transition model, thenoise covariance matrix, the measurement model, and the residuecovariance matrix for model M^(j), respectively.

The updated state vectors {circumflex over (X)}^(j)(k|k) and its errorcovariance P^(j)(k|k) for model M^(j) may be obtained using measurementz(k) according to the following updating equations:

{circumflex over (X)} ^(j)(k|k)={circumflex over (X)} ^(0j)(k−k−1)+W^(j)(k)[z(k)−{circumflex over (z)}(k|k−1)]

P ^(j)(k|k)=P ^(0j)(k|k−1)−W ^(j)(k)S ^(j)(k)W ^(j)(k)^(T)

where W^(j) is the gain of the filter. Filter gain W^(j) may be givenby:

W ^(j)(k)=P ^(0j)(k|k−1)H ^(j)(k)^(T) [S ^(j)(k)]⁻¹

The algorithm described above may be used to probabilisticallydistinguish between a correct observation and a false observation, usingthe different statistical characteristics between the two types ofobservations. For example, correct observations may be modeled by aGaussian probability density function, while false observations may bebetter modeled by a uniform distribution. FIG. 2 shows a Gaussianprobability density function 202, suitable for modeling correctobservations, and a uniform probability density function 201, suitablefor modeling false observations. Each PDAF makes “soft” decisions,rather than black-and-white “hard” decision. A reasonable soft decisiontakes advantage of more information, as a hard decision is merely aspecial case of a soft decision.

In one embodiment, false or invalid measurements are represented byuniform distribution 201 of FIG. 2, and correct or valid measurementsare represented by Gaussian distribution 202, respectively. In thatembodiment, the residual of observation exceeds a predetermined value ofthe innovation variance (e.g., five standard deviations, or “5-sigma”),the probability that the observation is invalid is assigned theprobability of 1. That is,

[z(k)−z(k|k−1)]^(T) S(k)⁻¹ [z(k)−z(k|k−1)]≦γ

where γ is the gate threshold (for 5-sigma, γ is 25).

The probability density function (PDF) for a correct observation isgiven by:

P _(D) P _(G) ⁻¹ N[z(k)|z(k|k−1),S(k)]=P _(D) P _(G) ⁻¹N[z(k)−z(k|k−1)|0,S(k)]

where P_(D) is the probability of detection, P_(G) ⁻¹ is thenormalization factor to make the Gaussian PDF unity in the validationarea.

Similarly, because an invalid observation is assumed to have a uniformdistribution¹, the PDF is given by: ¹In other embodiments, other PDFsmay be used

$\left( {1 - P_{D}} \right)\frac{1}{2{{\gamma \; {S(k)}}}^{1/2}}$

Therefore, the association probabilities β₁(k) and β₀(k) are theprobabilities that an observation is valid or invalid, respectively.According to the Total Probability Theorem, association probabilitiesβ₁(k) and β₀(k) are given by:

$\begin{matrix}{{\beta_{1}(k)} = \frac{P_{D}P_{G}^{- 1}\frac{1}{{{2\pi \; {S(k)}}}^{1/2}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}{{\left( {1 - P_{D}} \right)\frac{1}{2{{\gamma \; {S(k)}}}^{1/2}}} + {P_{D}P_{G}^{- 1}\frac{1}{{{2\pi \; {S(k)}}}^{1/2}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}}} \\{= \frac{^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}{{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}} + ^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}}\end{matrix}$${\beta_{0}(k)} = \frac{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}}{{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}} + ^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}$Or ${\beta_{i}(k)} = \left\{ {{\begin{matrix}\frac{b}{b + e_{1}} & {{i = 0},{{invalid}\mspace{14mu} {observation}}} \\\frac{e_{1}}{b + e_{1}} & {{i = 1},{{valid}\mspace{14mu} {observation}}}\end{matrix}{where}e_{1}} = {{^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}b} = {\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}}}} \right.$

Consequently, the output state vector for model M^(i) is given by:

${{\hat{X}}^{i}\left( k \middle| k \right)} = {\sum\limits_{j = 0}^{1}\; {{{\hat{X}}_{j}^{i}\left( k \middle| k \right)}{\beta_{j}(k)}}}$

For a false observation, the state vector is not updated:

{circumflex over (X)} ₀ ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)

For a valid observation, the state vector is updated in the same manneras a Kalman filter:

{circumflex over (X)} ₁ ^(i)(k|k)={circumflex over (X)}^(0i)(k|k−1)+W(k)[z(k)−z(k|k−1)]

where gain W(k) is given by:

W(k)=P ⁰²(k|k−1)H(k)^(T) S(k)⁻¹, as in a Kalman filter.

Therefore updated state vector {circumflex over (X)}^(i)(k|k) and errorvariance P^(i)(k|k) are given by:

{circumflex over (X)} ^(i)(k|k)={circumflex over (X)}^(0i)(k|k−1)+W(k)β₁(k)[z(k)−z(k|k−1)]

P ^(i)(k|k)=β₀(k)P ^(i)(k|k−1)+(1−β₀(k))P ^(c)(k|k)+{tilde over (P)}(k)

where

P ^(c)(k|k)=P ^(0i)(k|k−1)−W(k)S(k)W(k)^(T)

{tilde over(P)}(k)=W(k)[β₁(k)v(k)v(k)^(T)−β₁(k)v(k)v(k)^(T)β₁(k)]W(k)^(T)

Overall, the PDAF is very similar to the standard Kalman filter. ThePDAF is very simple, easy to understand, and also very computationalefficient, with about 50% than a Kalman filter. Note that the PDAFalgorithm can also handle multiple observations. Assuming there are mobservations in the validation region. The conventional Kalman filtercan only choose one as the correct measurement, while the PDAF canprobabilistically associate all measurements to the filter. Besidesthis, the PDAF also considered the probability that all these mobservations are false (i.e., the PDAF handles m+1 hypotheses). In thiscase, the following equations may be used for model M^(i):

$\mspace{20mu} {{{\overset{\Cap}{X}}^{i}\left( k \middle| k \right)} = {{{\overset{\Cap}{X}}^{i}\left( k \middle| {k - 1} \right)} + {{W(k)}{v(k)}}}}$$\mspace{20mu} {{v(k)} = {\sum\limits_{i = 1}^{m}\; {{\beta_{i}(k)}\left\lbrack {{z_{i}(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}$${\overset{\sim}{P}(k)} = {{{W(k)}\left\lbrack {\sum\limits_{i = 1}^{m}\; \left\lbrack {{{\beta_{i}(k)}{v_{i}\left( {k - 1} \right)}{v_{i}\left( {k - 1} \right)}^{T}} - {{v\left( {k - 1} \right)}{v\left( {k - 1} \right)}^{T}}} \right\rbrack} \right\rbrack}{W(k)}^{T}}$$\mspace{20mu} {{\beta_{i}(k)} = \left\{ \begin{matrix}\frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots \mspace{11mu} m}} \\\frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}}\end{matrix} \right.}$

In this multiple observation case (or other very low SNR scenarios), thePDAF algorithm out-performs the Kalman filter significantly. In oneembodiment, six observations were made, so that seven hypotheses weretested (i.e., one of the six observations are correct or all of theobservations are false). Assuming that the probability density functionof a correct measurement is provided by a Gaussian distribution, andassuming that, when the residual of observation exceeds a predeterminedvalue of the innovation variance (e.g., five standard deviations, or“5-sigma”), the probability that the observation is invalid is assignedthe probability of 1. That is,

[z(k)−z(k|k−1)]^(T) S(k)⁻¹ [z(k)−z(k|k−1)]≦γ

where γ is the gate threshold (for 5-sigma, γ is 25).

The probability density function (PDF) for a correct observation isgiven by:

P _(D) P _(G) P _(G) ⁻¹ N[z(k)|z(k|k−1),S(k)]=P _(D) P _(G) P _(G) ⁻¹N[z(k)−z(k|k−1)|0,S(k)]

where P_(D) is the probability of detection, P_(G) is the Gaussiancumulative distribution function (CDF) within the 5-sigma region, P_(G)⁻¹ is the normalization factor to make the Gaussian PDF unity in thevalidation area. Let σ≡|S(k)|^(1/2), the PDF for the correct associationfor measurement i is given by

$\frac{P_{D}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}$

Assuming that an invalid observation has a uniform distribution², thePDF for a false observation is given by: ²In other embodiments, otherPDFs may be used

${\left( {1 - {P_{D}P_{G}}} \right)\frac{1}{2{{\gamma \; {S(k)}}}^{1/2}}} = \frac{\left( {1 - {P_{D}P_{G}}} \right)}{10\; \sigma}$

Therefore, the association probabilities β_(i)(k) and β₀(k) are theprobabilities that that i^(th) observation is valid and none of theobservations are valid, respectively. According to the Total ProbabilityTheorem, association probabilities β₂(k) and β₁(k) are given by:

$\begin{matrix}{{\beta_{i}(k)} = \frac{{\frac{P_{D}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}\left\lbrack \frac{1}{10\sigma} \right\rbrack}^{5}}{{\left( {1 - {P_{D}P_{G}}} \right)\left\lbrack \frac{1}{10\sigma} \right\rbrack}^{6} + {\sum\limits_{j = 1}^{6}\; {\frac{P_{D}^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}\left\lbrack \frac{1}{10\; \sigma} \right\rbrack}^{5}}}} \\{= \frac{^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}} + {\sum\limits_{j = 1}^{6}\; ^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}}}\end{matrix}$${\beta_{0}(k)} = \frac{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}}{{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}} + {\sum\limits_{j = 1}^{6}\mspace{11mu} ^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}}$Or ${\beta_{i}(k)} = \left\{ {{\begin{matrix}\frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots \mspace{11mu} m}} \\\frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}}\end{matrix}{where}e_{1}} = {{^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}b} = {\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}}}} \right.$

Of course, the state and covariance updates follow from the generalequations discussed above, for model M^(i):

For a false observation, the state vector is not updated:

{circumflex over (X)} ₀ ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)

If the j^(th) observation is valid, the state vector is updated in thesame manner as a Kalman filter:

{circumflex over (X)} _(j) ^(i)(k|k)={circumflex over (X)}^(0i)(k|k−1)+W(k)[z(k)−z(k|k−1)]

where gain W(k) is given by:

W(k)=P ^(0i)(k|k−1)H(k)^(T) S(k)⁻¹, as in a Kalman filter.

Therefore updated state vector {circumflex over (X)}^(i)(k|k) and errorvariance P^(i)(k|k) are given by:

$\mspace{20mu} {{{\hat{X}}^{i}\left( k \middle| k \right)} = {{{\hat{X}}^{0i}\left( k \middle| {k - 1} \right)} + {{W(k)}{\sum\limits_{j = 1}^{6}\; {\beta_{j}\left\lbrack {{z(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}}}$$\mspace{20mu} {{P^{i}\left( k \middle| k \right)} = {{{\beta_{0}(k)}{P^{i}\left( k \middle| {k - 1} \right)}} + {\left( {1 - {\beta_{0}(k)}} \right){P^{c}\left( k \middle| k \right)}} + {\overset{\sim}{P}(k)}}}$  where   P^(c)(k|k) = P^(0i)(k|k − 1) − W(k)S(k)W(k)^(T)${\overset{\sim}{P}(k)} = {{{W(k)}\left\lbrack {\sum\limits_{i = 1}^{6}\; \left\lbrack {{{\beta_{i}(k)}{v_{i}\left( {k - 1} \right)}{v_{i}\left( {k - 1} \right)}^{T}} - {{v\left( {k - 1} \right)}{v\left( {k - 1} \right)}^{T}}} \right\rbrack} \right\rbrack}{W(k)}^{T}}$$\mspace{20mu} {{v(k)} = {\sum\limits_{i = 1}^{6}\; {{\beta_{i}(k)}\left\lbrack {{z_{i}(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}$

In one embodiment of the present invention, measured SNR information maybe used in the PDAF. In that embodiment, the measured amplitudeinformation (CN0 or other amplitude information) can also be used inPDAF. That is, an observed high SNR is more likely come from a correctmeasurement. There is some statistical difference in the amplitudebetween correct and false observations. FIG. 3 shows a linearprobability density function 302, suitable for modeling amplitudes thatare valid observations, and an exponential probability density function301, suitable for modeling amplitudes of false observations, accordingto one embodiment of the present invention.

If the measured amplitude is a_(i)(k), the PDF of the amplitude due tonoise may be modeled by a Rayleigh distribution or an exponentialdistribution (the latter distribution is illustributed by PDF 301 ofFIG. 3),

${{p_{0}(a)} = {\frac{a}{\beta}^{- \frac{a^{2}}{2\beta}}}},{a \geq 0}$or ${{p_{0}(a)} = {\frac{a}{\beta}^{- \frac{a}{\beta}}}},{a \geq 0}$

However, the PDF of the amplitude of a correct observation may bemodeled with Rayleigh distribution or a simple linear between certainranges (the latter distribution is illustributed by PDF 302 of FIG. 3),

${{p_{1}(a)} = {\frac{a}{\beta + d}^{- \frac{a^{2}}{2{({\beta + d})}}}}},{a \geq 0}$or ${p_{1}(a)} = {\frac{2}{L^{2}}a}$

With the amplitude information, the mode probabilities in PDAF arealmost in the same form as described above, with only some minormodifications that incorporate the amplitude information. For generalmultiple observation case,

${\beta_{i}(k)} = \left\{ {{\begin{matrix}\frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots \mspace{11mu} m}} \\\frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}}\end{matrix}{Where}{e_{i}(k)}} = {^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}\frac{p_{1}\left( a_{i} \right)}{p_{0}\left( a_{i} \right)}}} \right.$

Any other parameter a_(i) can be associated in the likelihood ratio

$\frac{p_{1}\left( a_{i} \right)}{p_{0}\left( a_{i} \right)}$

to differentiate the correct observation from the false one.

According to another embodiment of the present invention, falsemeasurements due to multipath may be rejected by correctly modeling themultipath-based false observations. Observation residuals due tomultipath are more positive than normal observation residuals, thedistribution of a false observation can thus be modeled, for example, tobe uniformly distributed on the negative side and linearly increasing onthe positive side. Such a distribution is illustrated in FIG. 4 by PDF401, for example. If the residual is negative with probability of 20%and positive with probability of 80%, the PDF for false observations maybe provided by:

$p_{0} = \left\{ \begin{matrix}\frac{1}{5{{\gamma \; {S(k)}}}^{1/2}} & {{v(k)} < 0} \\{\frac{1}{5{{\gamma \; {S(k)}}}^{1/2}} + {\frac{6}{5}\frac{v(k)}{{\gamma \; {S(k)}}}}} & {{v(k)} \geq 0}\end{matrix} \right.$

Thus, when the GPS receiver is not sufficiently modeled by a singlemodel, the IMM estimator allows the GPS receiver to be modeled bymultiple models simultaneously. In addition, when there is a probabilitythat some false observations may be incorporated in the GPS navigationcalculations, a PDAF improves over a conventional Kalman filter. Apossible application of an IMM estimator and PDAFs in GPS navigation isa dynamically changing environment in which a constant velocity modelaccurately describes the receiver's motion only a portion of the time,while one or more other models incorporating accelerations (e.g.,acceleration, deceleration and turns).

Another example for the IMM estimator is a multipath environment inwhich the IMM estimator uses one model which does not incorporatemultipath effects, and another model which incorporates multipatheffects. When multipath effects are not present, the first modeldominates and provides the navigation output most of the time. Whenmultipath effects are present, the IMM estimator gives greater weight tothe multipath model which has a large measurement variance, and mayincorporate a multipath false measurement model in a PDAF. Conventionalmethods can not handle such a situation because multipath effects appearalmost randomly.

Yet another example for an IMM estimator and PDAF filters is anenvironment with very low SNR and with false observations. When falseobservations are frequent due to a very low SNR, multipath effects, orother effects in a hostile environment to GPS navigation, the PDAFalgorithm with some proper statistics models out perform conventionalKalman filters.

The above detailed description is provided to illustrate specificembodiments of the present invention and is not intended to be limiting.Numerous variations and modifications within the scope of the presentinvention are possible. The present invention is set forth in thefollowing claims.

1. A method for performing GPS navigation in a GPS receiver, comprising:Providing a plurality of models of GPS navigation, each modelcharacterized by a model state vector which is updated periodically;Providing for each model a corresponding filter for deriving, for eachperiod, a current value for the corresponding model state vector basedon current measurements made on parameters affecting the correspondingstate vector; and Applying an interacting multiple model (IMM) estimatorto provide, for each period, a current value for a system state vectorusing the current values of the model state vectors for that period andtheir corresponding filters.
 2. A method as in claim 1, wherein eachmodel state vectors includes one or more of the following variables:3-dimensional position, 3-dimensional velocity, clock bias, clock driftand one or more other satellite parameters.
 3. A method as in claim 1,where the current value of the system state vector is a weighted averageof the current values of the model state vectors and wherein a set ofmode probabilities are assigned as weights for the weighted average. 4.A method as in claim 3, wherein the IMM estimator calculates mixingprobabilities for each model based on previous measurements made on theparameters.
 5. A method as in claim 4, wherein for each cycle, prior toderiving the current values of the model state vectors in the filters,using the mixing probabilities, the IMM estimator calculates an initialvalue for each model state vector by weighting the current model statevectors of the immediately previous cycle.
 6. A method as in claim 4,using the current values of the model state vectors derived by thefilters, the IMM estimator calculates the mixing probabilities for usein the next cycle, and the mode probabilities for providing the currentvalue of the system state vector.
 7. A method as in claim 1, wherein oneor more of the filters is a probabilitic data association filter (PDAF).8. A method as in claim 7, wherein the PDAF provides (i) a predictedvalue for the corresponding model state vector based on internalparameters of the model, and (ii) the current value of the model statevector by updating the predicted value of the model state vector, basedon the current measurements made.
 9. A method as in claim 8, wherein thePDAF applies a statistical difference between a correct observation anda false observation to the current measurements made to derive thecurrent value of the model state vector.
 10. A method as in claim 9,wherein the statistical difference is expressed by a first probabilitydensity function for a correct observation, and a second probabilitydensity function for a false observation.
 11. A method as in claim 10,wherein the first probability density function and the secondprobability density function are each a function of a distance instandard deviations between one of the current measurements and itsnominal value.
 12. A method as in claim 10, wherein the firstprobability density function and the second probability density functionare each a function of a measured value for the parameters affecting themodel state vector.
 13. A method as in claim 10, wherein the firstprobability density function comprises one of: a Gaussian distribution,a Rayleigh distribution or an exponential distribution.
 14. A method asin claim 10, wherein the second probability density function comprisesone of: a uniform distribution, a linear distribution, an exponentialdistribution, or a combination of a uniform distribution and a lineardistribution.
 15. A method as in claim 1, wherein one of the modelspertains to multipath effects.
 16. A method as in claim 1, wherein oneof the models pertained to a signal-to-noise ratio.
 17. A method as inclaim 1, wherein one of the models pertain to a GPS receiver moving atconstant velocity.
 18. A method as in claim 1, wherein one of the modelspertains to motions of non-constant velocities.